1. Field of the Invention
One or more embodiments of the present invention relates to a computational procedure for virtual machine migration used on servers, and in particular, to a trigger method to determine when to initiate computational procedure for virtual machine migration.
2. Description of Prior Art
As the semiconductor industry develops the capabilities of computer increases rapidly in recent years. Accordingly, the processing efficiency and speeds of a server also grow significantly.
In terms of increasing server efficiency, virtual servers are gradually becoming popular. The concept of virtual servers refers to that many virtual machines (VM) are programmed in a physical server and the multiple VMs simultaneously execute multiple service procedures. An administrator maintains one physical server and is able to provide different service procedures to server users via multiple VMs, which lowers the cost of manpower, space and electrical power. The virtual machines individually work with different operating system (OS), which expand the compatibility of the server to meet the requirements of different server users.
The multiple virtual machines on the server share the physical memory of the server for executing the service procedures. VM is useful when a certain service procedure is simultaneously used by too many users and occupies the majority of the physical memory in the server, or when one of the virtual machines has heavy computing loading which may lead to network congestion or overheated servers and impact on the overall processing efficiency.
In view of that, a plurality of servers in a system is scheduled with periodic virtual machines migration. The system executes computational procedure based on the using status of the VMs. The computational procedure individually computes the most suitable location to migrate the VMs. The system moves the VMs to the most suitable locations based on calculation results. In further details, the computational procedure moves the memory data processed in the servers to the suitable server to continue with the processing based on the calculation results.
The above computational procedure calculates according to the network speed, the CPU capability, the memory usage status, the temperature, the humidity of the location, or the rack location of each server. The computing result indicates which server is the most suitable server to process the VMs. The system then moves the VMs, i.e. the processing memory data in the server, to the most suitable location based on the calculation results.
For example, service procedures used by many people typically take up larger memory space and more CPU resources. After the computing, the servers may become overheated as a result. The computational procedure selects a server at a location with better ventilation, better air conditioning, lower temperature and under a lower hardware computing load to be the server processing the above mentioned service procedure.
To assure the servers of a system continue to deliver the best connection quality, the above mentioned computational procedure is executed periodically, for example, once every ten or twenty seconds. The system executes migration after the computing. Nonetheless, when there are more factors taken in the computational procedure, the computation load and the occupied system resource grows. If the frequency of executing the computational procedures is high, the server resource is heavily occupied which is counterproductive by lowering the users' share of the server.
Thus, it is desired in the market to provide an innovative mechanism to assure the server effectively determining the timing to execute the computational procedure and optimize virtual machines, and does not in appropriately occupy server resource by frequently executing the computational procedure.